package com.zy.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.zy.domain.User;
import com.zy.param.PayBindingParam;
import com.zy.param.RegisterParam;

public interface UserService extends IService<User> {

  /**
   * 通过用户名和密码查询用户
   * @param userName
   * @param pwd
   * @return
   */
  User selectUser(String userName,String pwd);

  /**
   * 通过手机号查询用户
   * @param phoneNum
   * @return
   */
  User getUserByPhone(String phoneNum);

  /**
   * 注册用户
   * @param registerParam
   * @return
   */
  User registerUser(RegisterParam registerParam);


  /**
   * 通过用户名查询用户
   * @param username
   * @return
   */
  User findUserByusername(String username);

  /**
   * 通过手机号查询用户
   * @param phoneNum
   * @return
   */
  User selectUserByPhone(String phoneNum);

  /**
   * 通过手机号重置用户
   * @param phoneNum
   * @return
   */
  User resetUserByPhone(String phoneNum);

  /**
   * 通过用户id查询用户
   * @param id
   * @return
   */
  User selectUserById(String id);

  /**
   * 支付绑定
   * @param payBindingParam
   * @return
   */
  User payBinding(PayBindingParam payBindingParam);

  /**
   * 充值任务金额
   * @param uid
   * @param type
   * @param money
   * @return
   */
  User rechargeTaskMoney(String uid, String type, Double money);

  /**
   * 提现任务金额
   * @param uid
   * @param type
   * @param money
   * @return
   */
  User withdrawalTaskMoney(String uid, String type, Double money);

  /**
   * 提现指间积分
   * @param uid
   * @param type
   * @param money
   * @return
   */
  User withdrawalZhijianMoney(String uid, String type, Double money);

  /**
   * 用户签到
   * @param uid
   * @return
   */
  User signIn(String uid);
}
